﻿namespace colectionDemo.jobs;

public class LibraryCatalog
{
/* ### 题目 3：图书馆书籍分类（Dictionary + List）
**需求：**
    - 定义一个 `Dictionary<string, List<string>>`，键为类别（如“计算机”、“文学”），值为该类别下的书籍列表。    
- 支持以下操作：    
1. 添加新书籍到指定类别。        
2. 列出某个类别下所有书籍。        
3. 列出所有类别及其书籍。
 */
    private Dictionary<string, List<string>> catalog = new Dictionary<string, List<string>>();
    

    // 添加图书到分类
    public void AddBookToCategory(string category, string book)
    {
        if (!catalog.ContainsKey(category))
        {
            catalog.Add(category, new List<string>());
        }
        catalog[category].Add(book);
        Console.WriteLine($"已经将 {book} 添加到分类 {category}");
    }

    //显示指定类的图书
    public void ListBookInCategory(string category)
    {
        if (catalog.TryGetValue(category, out var value))
        {
            Console.WriteLine($"分类 {category} 的图书有：");
            foreach (var item in value)
            {
                Console.WriteLine(item);
            }
        }
    }

    //显示所有分类下的图书
    public void ListAllCategoryBooks()
    {
        foreach (var item in catalog)
        {
            Console.WriteLine($"分类 {item.Key} 的图书有：");
            foreach (var book in item.Value)
            {
                Console.WriteLine($"{book}");
            }
        }
    }
    
    
}